package com.gongyinlian.personalprofilewebsiteserver.service;

import com.gongyinlian.personalprofilewebsiteserver.dto.LoginRequest;
import com.gongyinlian.personalprofilewebsiteserver.dto.RefreshTokenRequest;
import com.gongyinlian.personalprofilewebsiteserver.vo.LoginResponse;

/**
 * 认证服务接口
 * 
 * @author personal-profile-website
 * @date 2024-10-27
 */
public interface AuthService {
    
    /**
     * 用户登录
     * 
     * @param request 登录请求参数
     * @return 登录响应（包含Token和用户信息）
     */
    LoginResponse login(LoginRequest request);
    
    /**
     * 刷新Token
     * 
     * @param request 刷新Token请求参数
     * @return 新的Token信息
     */
    LoginResponse refreshToken(RefreshTokenRequest request);
    
    /**
     * 用户登出
     * 
     * @param userId 用户ID
     */
    void logout(Long userId);
}

